package com.x.provider.customer.service.common;

import com.x.core.domain.SuggestionTypeEnum;
import com.x.provider.api.oss.enums.MimeTypeEnum;
import com.x.provider.customer.model.ao.AddOrUpdateAttributeAO;
import com.x.provider.customer.model.domain.common.GenericAttribute;

import java.util.List;

public interface GenericAttributeService {
    List<GenericAttribute> listAttributeMap(String keyGroup, Long entityId);
    GenericAttribute getAttribute(String keyGroup, Long entityId, String key);
    GenericAttribute addOrUpdateAttribute(AddOrUpdateAttributeAO addOrUpdateAttributeAO);
    GenericAttribute addOrUpdateDraftAttribute(String keyGroup, Long entityId, String key, String value);
    void deleteDraftAttribute(String keyGroup, Long entityId, String key);
    List<GenericAttribute> listAttributeMap(String keyGroup, List<Long> entityIdList);

    void setAttribute(String keyGroup, Long entityId, String key, String value, MimeTypeEnum greenType);
    void onDraftAttributeGreenFinished(GenericAttribute genericAttribute, SuggestionTypeEnum suggestionTypeEnum);
}
